gtk-demo: Make pixbufs demo use Cairo
authorBenjamin Otte <otte@redhat.com>
Tue, 13 Jul 2010 13:57:18 +0000 (15:57 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 26 Jul 2010 14:42:48 +0000 (16:42 +0200)
demos/gtk-demo/pixbufs.c

index d7b7eef3e9cfe6bf81502098c4ea718c85e75424..e2fbcb06a53552fd743b02aae7fb96ba05c1a6cf 100644 (file)
@@ -100,20 +100,15 @@ expose_cb (GtkWidget      *widget,
            GdkEventExpose *event,
            gpointer        data)
 {
-  guchar *pixels;
-  int rowstride;
+  cairo_t *cr;
 
-  rowstride = gdk_pixbuf_get_rowstride (frame);
+  cr = gdk_cairo_create (event->window);
 
-  pixels = gdk_pixbuf_get_pixels (frame) + rowstride * event->area.y + event->area.x * 3;
+  gdk_cairo_set_source_pixbuf (cr, frame, 0, 0);
+  gdk_cairo_rectangle (cr, &event->area);
+  cairo_fill (cr);
 
-  gdk_draw_rgb_image_dithalign (widget->window,
-                                widget->style->black_gc,
-                                event->area.x, event->area.y,
-                                event->area.width, event->area.height,
-                                GDK_RGB_DITHER_NORMAL,
-                                pixels, rowstride,
-                                event->area.x, event->area.y);
+  cairo_destroy (cr);
 
   return TRUE;
 }